package com.citrus.demo.mapper;

import com.citrus.demo.bean.SysUserEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface SysUserMapper {
    /**
     * 查询用户的所有权限
     * @param userId  用户ID
     */
    List<String> queryAllPerms(Long userId);

    /**
     * 根据用户名查询用户
     */
    SysUserEntity selectOne(@Param("userName") String userName) ;

    /**
     * 根据用户ID查询用户
     */
    SysUserEntity selectOneById(Long user_id);

    /**
     * 查询用户的所有菜单ID
     */
    List<Long> queryAllMenuId(Long userId);

    /**
     * 修改用户信息
     */
    void updatethisuser(SysUserEntity sysUserEntity);

    /**
     * 模糊查询
     */
    List<SysUserEntity> selectLot(@Param("userName") String userName);

    /**
     * 模糊查询用户名电话邮箱
     */
    List<SysUserEntity> selectLot1(SysUserEntity sysUserEntity);

    /**
     * 创建一个用户
     */
    void insertuser(SysUserEntity sysUserEntity);

    /**
     * 创建一个用户包括ID
     */
    void insertuserandid(SysUserEntity sysUserEntity);

    /**
     * 根据id删除用户
     */
    void deleteuserbyid(Long user_id);

    /**
     * 根据ID修改密码
     */
    void updatepassword(SysUserEntity sysUserEntity);
}